package br.com.danilloguimaraes.web.beans;

import br.com.danilloguimaraes.crudveiculo.daos.Dao;
import br.com.danilloguimaraes.crudveiculo.entidades.Veiculo;
import java.io.Serializable;
import java.util.List;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;

/**
 *
 * @author danillo
 */
@Named(value = "veiculosBean")
@SessionScoped
public class VeiculosBean implements Serializable {

    private Veiculo veiculo;
    /**
     * Creates a new instance of VeiculosBean
     */
    public VeiculosBean() {
    }
    
    public List<Veiculo> todos(){
        return Dao.getDao().todos(Veiculo.class);
    }
    
    public String preparaInsercao(){
        setVeiculo(new Veiculo());
        return "manter";
    }
    
    public String preparaAtualizacao(Veiculo veiculo){
        setVeiculo(veiculo);
        return "manter";
    }

    public String inserir(){
        try {
            Dao.getDao().insere(getVeiculo());
        } catch (Exception e) {
            return FAILURE_INS;
        }
        return SUCESSO_INS;
    }
    
    public String atualizar(){
        try {
            Dao.getDao().insere(getVeiculo());
        } catch (Exception e) {
            return FAILURE_UP;
        }
        return SUCESSO_UP;
    }
    
    public Veiculo getVeiculo() {
        return veiculo;
    }

    public void setVeiculo(Veiculo veiculo) {
        this.veiculo = veiculo;
    }

    public boolean jaRegistrado(){
        return veiculo.getId()>0;
    }
    
    private static final String SUCESSO_INS = "SUCESSO_INS";
    private static final String SUCESSO_UP = "SUCESSO_UP";
    private static final String FAILURE_INS = "FAILURE_INS";
    private static final String FAILURE_UP = "FAILURE_UP";
}
